﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Himp.Outpatient
{
    public class OtpRgstPsnInfoDto
    {
        public OtpRgstPsnInfoBaseinfoDto Baseinfo { get; set; }

        public List<OtpRgstPsnInfoInsuinfoDto> Insuinfo { get; set; }

        public List<OtpRgstPsnInfoIdetinfoDto> Idetinfo { get; set; }
    }

    /// <summary>
    /// 基本信息
    /// </summary>
    public class OtpRgstPsnInfoBaseinfoDto
    {
        public string PsnNo { get; set; }

        // 人员证件类型
        public string PsnCertType { get; set; }

        // 证件号码
        public string CertNo { get; set; }

        // 人员姓名
        public string PsnName { get; set; }

        // 性别
        public string Gend { get; set; }

        // 民族
        public string Naty { get; set; }

        // 出生日期
        public DateTime? Brdy { get; set; }

        // 年龄
        public decimal? Age { get; set; }
    }

    /// <summary>
    /// 参保信息
    /// </summary>
    public class OtpRgstPsnInfoInsuinfoDto
    {
        // 余额
        public decimal? Balc { get; set; } // Nullable because it can be empty

        // 险种类型
        public string Insutype { get; set; }

        // 人员类别
        public string PsnType { get; set; }

        // 人员参保状态
        public string PsnInsuStas { get; set; }

        // 个人参保日期
        public DateTime? PsnInsuDate { get; set; } // Nullable because it can be empty

        // 暂停参保日期
        public DateTime? PausInsuDate { get; set; } // Nullable because it can be empty

        // 公务员标志
        public string CvlservFlag { get; set; } // Note: The comment indicates that this field may not be required for hospitals

        // 参保地医保区划
        public string InsuplcAdmdvs { get; set; }

        // 单位名称
        public string EmpName { get; set; }
    }

    /// <summary>
    /// 身份信息
    /// </summary>
    public class OtpRgstPsnInfoIdetinfoDto
    {
        /// <summary>
        /// 人员身份类别
        /// </summary>
        public string PsnIdetType { get; set; }

        /// <summary>
        /// 人员类别等级
        /// </summary>
        public string PsnTypeLv { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string Memo { get; set; }

        /// <summary>
        /// 开始时间
        /// </summary>
        public string Begntime { get; set; }

        /// <summary>
        /// 结束时间
        /// </summary>
        public string Endtime { get; set; }

    }
}
